1
Yêu cầu về Hiệu suất
AI031Lesson 5
00:00

Tối ưu hóa hiện đại là sự hợp tác giữa lựa chọn thuật toán cấp cao và nhận thức về máy tính cấp thấp. Trong khi Hiệu quả tiệm cận định nghĩa các giới hạn lý thuyết, thì Yêu cầu về Hiệu suất yêu cầu chúng ta phải giải quyết các yếu tố hằng số mà bộ biên dịch không thể xử lý một mình.

1. Thứ bậc của Tối ưu hóa

Thành công tuân theo quy trình tuyến tính: trước hết, loại bỏ sự kém hiệu quả tiệm cận (ví dụ: $O(N^2) \to O(N)$). Tiếp theo, giải quyết Các rào cản Tối ưu hóa—chủ yếu là Xung đột bộ nhớ và chi phí gọi hàm (như kiểm tra biên giới hằng số kiểm tra biên giới trong get_vec_element).

2. Luồng Dữ liệu & Rào cản

Các bộ biên dịch thận trọng vì an toàn; chúng sẽ không tối ưu nếu một con trỏ *dest có thể chồng chéo với mảng data. Chúng ta đo tốc độ thực tế thông qua Vòng lặp trên Mỗi Phần tử (CPE). Hiệu suất thường được mô hình hóa bằng các hệ số mở rộng như $\alpha = 0.974$, nơi chi phí thừa làm dịch chuyển đường biểu diễn thực thi (ví dụ: $209/\alpha = 39.0$).

150100500Dưới tuyến tínhBăm tốt hơnBảng lớnSắp xếp nhanhBan đầuTuyến tínhDướiTốt hơnBămLớnBảngSắp xếp nhanhBan đầuChỗ nghẽn tiệm cậnHình 5.38(a): Mô hình hóa hiệu suất N-gram (giây CPU)

3. Thực tế phần cứng

Tối ưu hóa đòi hỏi hiểu rõ về Đơn vị hoàn tấtĐường đi tới hạn. Ngay cả các vòng lặp đơn giản cũng bị giới hạn bởi Giới hạn băng thông của các đơn vị chức năng hoặc Giới hạn độ trễ của chuỗi phụ thuộc.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>